home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
gfx
/
edit
/
imageman.lha
/
ImageMan_Doku.txt
< prev
next >
Wrap
Text File
|
1993-07-31
|
40KB
|
931 lines
ImageMan 1.0
============
(c) 1993 by ESP - Extraordinary Software Products
EINLEITUNG
==========
Die vorliegende Anleitung soll den Umgang mit dem Programm ImageMan
erleichtern. Es wird vorausgesetzt, daß der Benutzer mit den
grundlegenden Bedienungsvorgängen, die im Umgang mit einem
Amiga-Programm notwendig sind, vertraut ist.
!!!HINWEIS!!!
ImageMan benötigt die Amiga-Betriebssystemversion 2.0 oder höher! Das
Programm arbeitet unter einer älteren Systemversion nicht!
ImageMan ist ein Bildbearbeitungsprogramm, das Bilder mit bis zu 256
Graustufen in verschiedenster Weise nachbearbeiten kann. Durch eine
spezielle Raster-Technik ist es möglich, die Bilder in sehr guter
Qualität auf dem normalen Amiga-Bildschirm darstellen zu können. Die
Bilder müssen im IFF-ILBM-Format vorliegen und werden auch in diesem
Format wieder abgespeichert. Dadurch können die bearbeiteten Bilder
in allen anderen Amiga-Programmen weiterverwendet werden (z.B.
DTP-Programm).
In der derzeitigen Version ist keine Bearbeitung von Farbbildern
möglich. Da aber die meisten im DTP-Bereich verwendeten Drucker
ohnehin nur die "Farben" Schwarz und Weiß (und über Raster
Graustufen) erzeugen können, ist das nur eine kleine Einschränkung.
Die Funktionen, die ImageMan für die Bildbearbeitung zur Verfügung
stellt, umfassen die Kontrolle über die Graustufenverteilung des
Bildes (Histogramm), die Möglichkeit des Glättens bzw. Schärfens des
Bildes, Hervorhebung von Kanten, Umrechnen von Schwarz-Weiß-Bildern
in Graustufen und einen Bildequalizer, der das Anheben bzw.
Abschwächen von Frequenz-Anteilen des Bildes (über
Fourier-Transformation) ermöglicht. Damit ist das Hervorheben
bestimmter Bildeigenschaften möglich. Eine genauere Erklärung dieser
Funktion wird später gegeben.
Das Programm benutzt viele Neuerungen des Betriebssystems ab Version
2.0, weshalb es unter älteren Versionen nicht läuft. ImageMan ist
beispielsweise ein Application-Window, d.h. Bilder können als Icon in
das Programmfenster "hineingezogen" werden. Das Clipboard wird
standardmäßig unterstützt (leichter Datentausch mit anderen
Programmen). Die Benutzeroberfläche ist so ausgelegt, daß sie auch
auf anderen Grafikkarten (wenn sie in das Amiga-Betriebssystem
eingebunden sind) läuft. Das Programmfenster mit der Filterliste wird
auf dem Workbench-Screen geöffnet. Für die Darstellung des Bildes
wird ein eigener Screen mit verschiebbarem / vergrößerbarem Fenster
mit Roll-Leisten geöffnet.
ImageMan ist kein Zeichenprogramm! In der vorliegenden Version sind
keine Zeichenfunktionen enthalten. Dafür sind effiziente Filter für
die globale Bearbeitung eines Bildes (bzw. über Clipboard eines
Bildteiles) vorhanden.
PROGRAMMSTART
=============
ImageMan kann entweder von der Shell oder von der Workbench aus
gestartet werden.
Bei Start von der Shell aus kann als Option der Name eines
Bildes angegeben werden.
Von der Workbench aus kann das zu ladende Bild über die erweiterte
Auswahl (mit Shift-Taste) ausgewählt werden. Ist das Programm bereits
geladen, dann kann das Icon eines Bildes auch in das
ImageMan-Programmfenster "hineingezogen" werden - ImageMan ist ein
Application-Window.
Nach dem Start erscheint das ImageMan-Programmfenster:
-----------------------------------------
|+| ImageMan |#|#|
|---------------------------------------|
| |
| Image ____________________________ |
|[1]Depth **___________ 1 Bit(s) |
| Width 0 Height 0 |
| |
| Filters |
| _____________________________________ |
| | Smooth | | |
| | Median | | |
| | Sharpen | | |
| | Gradient | | |
| | [2] | | |
| | BW -> GreyScale | | |
| | | | |
| | Equalize Histogramm | | |
| | Specify Histogramm | | |
| | Brightness | | |
| | Contrast | | |
| | |^| |
| | Fourier Bandpass |v| |
| ------------------------------------- |
| [3] [4] [5] |
| Show Start Filter Undo |
-----------------------------------------
Bedienungselemente:
[1] Graustufenregler - Damit können Sie die maximale Anzahl
von Graustufen einstellen.
[2] Filterliste - Hier sind alle verfügbaren Filter
aufgelistet. Durch Anklicken eines Filter wird es als
aktives Filter ausgewählt. Mit der Roll-Leiste neben
der Liste kann diese durchgeblättert werden.
[3] Show - Das Bild wird in einem Fenster auf einem eigenen
Screen angezeigt.
[4] Start Filter - Das ausgewählte Filter wird gestartet.
Gegebenenfalls erscheint hierauf ein Dialogfenster, in
dem die Filterparameter eingestellt werden können.
[5] Undo - Die letzte Änderung wird rückgängig gemacht.
Mit dem Graustufenregler wird die Anzahl der Bitplanes eingestellt.
Die daraus resultierende maximale Graustufenanzahl ergibt sich
bekanntlich aus der Formel
2^planes
oder entsprechend der folgenden Tabelle:
Depth Graustufen
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
In der Informationsbox, in der sich der Graustufenregler befindet,
werden auch der Bildname (Image) und die Größe des Bildes in Pixel
(Width, Height) angezeigt. In diesen Feldern ist keine Eingabe
möglich (durch 3D-Effekt angezeigt - siehe Amiga2.0 - Handbuch).
Wenn kein Bild geladen ist, so sind alle Bearbeitungsfunktionen nicht
anwählbar ("ghosted").
Laden eines Bildes
------------------
Wie bereits erwähnt gibt es mehrere Möglichkeiten, ein Bild in den
Arbeitsspeicher von ImageMan zu laden. Wenn Sie bereits vor Aufruf
von ImageMan wissen, welches Bild Sie laden wollen, dann können Sie
dieses durch die erweiterte Auswahl bei der Workbench oder durch
Angabe des Dateinamens hinter dem Programmnamen gleich laden. Wurde
ImageMan bereits gestartet, so gibt es drei Möglichkeiten, wie Sie
Ihr Bild laden können:
o Durch Aufruf des Menüpunkts Open... aus dem Menü
Project (oder Drücken von Amiga O: Es erscheint ein
Standard-Dateirequester, in dem Sie das Bild auswählen
können.
o Durch Aufruf des Menüpunkts Paste aus dem Menü Edit
(oder Drücken von Amiga V): Befindet sich ein
IFF-ILBM-Bild im Clipboard, dann wird dieses geladen.
o Durch "Hineinziehen" des Piktogramms einer
IFF-ILBM-Datei in das ImageMan-Programmfenster. Das
Bild wird automatisch geladen.
Tritt beim Laden ein Fehler auf, dann meldet ImageMan dies mit einem
Requester.
Hinweis:
ImageMan kann keine HAM-Bilder laden. Diese müssen zuerst mit einem
anderen Programm konvertiert werden! Gewöhnliche Farbbilder mit bis
zu 256 Farben kann ImageMan laden, sie werden auf entsprechende
Graustufenbilder umgerechnet.
Starten eines Filters
---------------------
Um ein Filter zu aktivieren, müssen Sie den Namen des gewünschten
Filters in der Filterliste anklicken. Sollte ein Filter nicht
sichtbar sein, so benutzen Sie die Roll-Leiste und die Roll-Pfeile,
um den Ausschnitt an die entsprechende Stelle zu verschieben. Haben
Sie den Filternamen angeklickt, so wird er als ausgewählt markiert.
Der aktive Filter wird mit der Schaltfläche Start Filter gestartet.
Je nach Filter kann noch ein Dialogfenster mit den
Filtereinstellungen erscheinen, bis die Bearbeitung des Bildes
aufgenommen wird. Während ein Filter arbeitet, zeigt ein Balken an,
wie weit die Bearbeitung fortgeschritten ist. Mit der Schaltfläche
Stop kann die Berechnung abgebrochen werden.
Anzeigen des Bildes am Schirm
-----------------------------
Um das Ergebnis eines Filters am Bildschirm beurteilen zu können,
müssen Sie nur die Schaltfläche Show anklicken. ImageMan öffnet
hierauf einen neuen Screen mit einem verschiebbaren Fenster, dessen
Größe auch beliebig eingestellt werden kann. In diesem Fenster wird
das Bild angezeigt. Für die Anzeige werden Dither-Muster verwendet,
die eine gute Darstellungsqualität garantieren. So können auch 256
Graustufen-Bilder auf einem normalen Amigabildschirm betrachtet
werden.
Zusätzlich bietet das Fenster mit den seitlichen Roll-Leisten die
Möglichkeit, den angezeigten Bildausschnitt zu verschieben. Dies ist
besonders bei großen Bildern (z.B. aus einem Scanner) wichtig.
Außerdem kann im Menü Show der Verkleinerungsfaktor (1:1, 1:2, 1:3,
1:4) ausgewählt werden. Mit der Schließ-Schaltfläche im linken oberen
Fensterbereich kann die Anzeige des Bildes beendet werden. Die
gleiche Funktion erfüllt der Menüpunkt Quit aus dem Menü Show.
Während ein Bild mit Show betrachtet wird, ist keine Eingabe im
ImageMan-Programmfenster möglich. Da die Schaltflächen aber nicht
deaktiviert sind (not "ghosted"), merkt sich ImageMan beispielsweise,
wenn Sie auf Start Filter geklickt haben und führt diesen Befehl nach
Beendigung der Bildansicht aus. ImageMan ist also etwas "nachtragend".
Rückgängigmachen der letzten Änderung
-------------------------------------
Mit der Schaltfläche Undo ist es möglich, die letzte Änderung
rückgängig zu machen. Sollte ein Filter nicht die gewünschte Wirkung
zeigen, so können Sie damit wieder zur ursprünglichen Version des
Bildes zurückkehren, ohne das Bild neu laden zu müssen (wie dies bei
manchen nahmhaften Bildbearbeitungsprogrammen auf dem Amiga sonst
notwendig ist...). Außerdem bietet sich hiermit eine leichte
Vergleichsmöglichkeit mit dem ursprünglichen Bild, da der Undo-Befehl
selbst wieder zurückgenommen werden kann ("Toggle-Switch"). Durch
Hin- und Herwechseln zwischen gefiltertem und ungefiltertem Bild
können Sie sich von der Wirkung des Filters überzeugen.
Speichern eines geänderten Bildes
---------------------------------
Wie beim Laden stellt ImageMan auch beim Speichern des Bildes
verschiedene Möglichkeiten zur Verfügung:
o Besitzt das Bild bereits einen Namen (Image-Feld nicht leer),
dann kann es unter diesem Namen mit dem Befehl Save aus dem
Menü Project gespeichert werden.
o Hat das Bild noch keinen Namen, dann ist Save nicht
verfügbar. Stattdessen muß der Befehl Save As... aus dem Menü
Project verwendet werden, der es mit einem
Standard-Datei-Requester ermöglicht, einen Namen mit Zugriffspfad
anzugeben.
o Das Bild kann aber auch mit Copy aus dem Menü Edit (Amiga C)
in das Clipboard übertragen werden. Damit ist ein einfacher
Datentausch mit anderen Amiga-Programmen möglich.
ImageMan verwendet beim Abspeichern immer seine interne Farb-
(Graustufen-) Palette.
Im Menü Settings kann mit dem Menüpunkt Save Icons? eingestellt
werden, ob ein Piktogramm zur Bilddatei erzeugt werden soll und mit
dem Menüpunkt Save Compressed? kann die Bildkompression (ByteRun1)
ein- bzw. ausgeschaltet werden. Komprimierte Bilder benötigen weniger
Speicherplatz, müssen aber beim Laden wieder entkomprimiert werden.
Sollte dies ein (wahrscheinlich altes) Programm nicht können, so muß
die Kompression ausgeschaltet werden. Der Menüpunkt Virtual Memory?
betrifft nur die Fourier-Filter und hat nur bei Verwendung von
virtuellem Speicher (über MMU) eine Bedeutung (siehe Fourier-Filter).
FUNKTION DER FILTER
===================
Die eigentliche Aufgabe von ImageMan besteht im Bearbeiten von Bilder
mit Hilfe mathematischer Filter (digital image processing). Die
vorhandenen Filter lassen sich in drei Gruppen gliedern:
o Matrixfilter
o Histogrammfilter
o Fourier-Filter
Die Gruppen sind in der Filterliste auch optisch voneinander (durch
Leerzeilen) getrennt. Ein Zwitterwesen ist das BW->Greyscale Filter,
das zum Konvertieren von Schwarz/Weiß-Bildern in Graustufenbilder
dienen soll (und eigentlich ein Matrixfilter ist).
Die meisten Filter bieten zahlreiche Parameterangaben, die in einem
Dialogfeld, das nach Starten des Filters erscheint, eingestellt
werden können. Sie können das Dialogfeld immer mit der Schaltfläche
Cancel verlassen (z.B. wenn Sie ein Filter irrtümlich aufgerufen
haben). Der Undo-Buffer wird dadurch nicht verändert. Mit der
Schaltfläche Set Default können Sie ImageMan veranlassen, sich die
Einstellungen zu merken. Jedes Filter hat seinen eigenen
"Merk-Speicher". Sie können damit entweder nachträglich
kontrollieren, welche Einstellungen Sie für eine bestimmte Wirkung
verwendet haben, oder oft benutzte Parameter als Standard fixieren.
Dieser Default-Wert kann auch abgespeichert werden (Siehe Abschnitt
Programmparameter sichern). Haben Sie alle Einstellungen vorgenommen,
dann können Sie den Filter mit der Schaltfläche OK starten.
Während ein Filter das Bild bearbeitet, wird mit einem Balken
angezeigt, wie weit ImageMan bei der Bearbeitung bereits
fortgeschritten ist. Falls Sie die Bearbeitung abbrechen wollen,
können Sie dies mit der Schaltfläche Stop erreichen. Gerade bei
rechenintensiven Filtern (Fouriertransformation) kann es vorkommen,
daß ImageMan nicht sofort auf den Stop-Befehl reagiert. Üblicherweise
wird aber die Bearbeitung sehr rasch abgebrochen. Der Undo-Buffer
wird aber normalerweise zerstört (Undo nicht mehr verfügbar -
"ghosted").
Matrixfilter
============
Es folgt nun eine Kurzbeschreibung der Matrixfilter mit empfohlenen
Standard-Parametern.
Smooth
------
Dient zum Glätten eines Bildes. Damit können sogenannte "Treppchen",
die beim Digitalisieren von glatten Helligkeitsverläufen entstehen
können, eliminiert werden. Es werden nur so viele Graustufen
verwendet, wie mit dem Depth-Regler eingestellt wurden (dies gilt für
alle Filter). Deshalb ist es für glatte Verläufe sinnvoll, vor dem
Aufruf des Smooth-Filters die maximal mögliche Graustufenanzahl (256
Graustufen - 8 Bits) anzuwählen (Schieber ganz nach rechts ziehen).
Parameter:
Mit dem Thresh-Schieber (Schwellwert) kann der maximale Unterschied
eingestellt werden, den ein Pixel zu den Nachbarpixeln besitzen muß,
damit die Glättung aktiviert wird. Damit kann durch eine
entsprechende Schieberstellung bis zu einem gewissen Grad verhindert
werden, daß gewünschte Kanten ebenso geglättet werden.
0 nichts wird geglättet
100 alles wird geglättet
Median
------
Dieses Filter dient zum Entfernen von Bildrauschen. Es hat einen
ähnlichen Effekt wie das Smooth-Filter, läßt Kanten aber weitgehend
unbeeinflußt. Störende Einzelpunkte werden entfernt.
Parameter:
keine
Sharpen
-------
Dient zum Schärfen von (leicht) unscharfen Bildern. Leider kann
ImageMan keine verlorengegangene Information wiedererfinden, weshalb
das Schärfen von Bildern manchmal nicht die erwünschte Bildqualität
ergibt. Schlecht sichtbare Information kann aber durch dieses Filter
wieder klarer gemacht werden. Üblicherweise wird durch das Schärfen
auch das Bildrauschen angehoben (Sie können versuchen, ob eine
Median-Filterung hier Abhilfe schafft).
Parameter:
Mit dem Thresh-Schieber (Schwellwert) kann der minimale Unterschied
eingestellt werden, den ein Pixel zu den Nachbarpixeln besitzen muß,
damit die Schärfung aktiviert wird. Damit kann verhindert werden, daß
auch kleine Bildhelligkeitsschwankungen verstärkt werden und somit
das Bildrauschen unverhältnismäßig groß wird.
0 alles wird geschärft (Unterschied zu Smooth!)
100 nichts wird geschärft
Gradient
--------
Mit dem Gradient-Filter können die Kanten in einem Bild detektiert
bzw. verstärkt werden. Ohne aktiven Schwellwert (siehe unten) bleiben
nur die Kanten des Bildes nach der Filterung erhalten. Mit dem
Cycle-Gadget kann eingestellt werden, ob die Kanten in horizontaler
und vertikaler Richtung (Normal Gradient), nur in horizontaler
Richtung (Gradient x) oder nur in vertikaler Richtung (Gradient y)
berücksichtigt werden. Diese Art von Filter wird auch oft
Sobel-Filter, Roberts-Filter oder generell Edge-Detection-Filter
genannt.
Parameter:
Mit dem Cycle-Gadget kann die Gradientenart eingestellt werden:
normal Gradient sowohl horizontale als auch vertikale Kanten
Gradient x nur horizontale Kanten
Gradient y nur vertikale Kanten
Mit dem Schieber Thresh kann der Schwellwert angegeben werden, ab dem
der Gradientenoperator aktiviert werden soll. So können sanfte
Helligkeitsverläufe vom Gradientenfilter verschont bleiben, während
die Kanten bearbeitet werden. Der eingestellte Schwellwert wird
allerdings nur berücksichtigt, wenn die Schaltfläche Use Thr.
aktiviert wurde (Haken sichtbar). Ist dies nicht der Fall, wird der
Gradient ohne Rücksicht auf Verluste berechnet.
BW -> Greyscale
---------------
Mit diesem Filter kann ein "gedithertes" Schwarz/Weiß-Bild in ein
"echtes" Graustufenbild umgerechnet werden, damit es mit den
ImageMan-Filtern weiterbearbeitet werden kann. Auch hier gilt wieder
der Grundsatz, daß ImageMan keine verloren gegangene Information
wiedererfinden kann. Das Filter ist aber so ausgelegt, daß es
Einzelpunkte und dünne Linien nicht vollständig vernichtet, sonst
aber Dither-Muster nach Möglichkeit in entsprechende Graustufen
umwandelt. Man kann hier keine Wunder erwarten, aber meist sind die
Ergebnisse ganz brauchbar. Das Filter ist nur dann verwendbar, wenn
ein Schwarz/Weiß-Bild (Depth 1 Bit) geladen wurde. Wollen Sie ein
Bild mit mehr Bitplanes umwandeln, dann müssen Sie die unnötigen
Bitplanes zuerst mit dem Graustufenregler vernichten (Schieber ganz
nach links), da sich das Filter sonst nicht starten läßt.
Parameter:
Mit dem Schieber New Bits können Sie die gewünschte Anzahl von
Bitplanes wählen, die bei der Konvertierung verwendet werden sollen
(siehe Tabelle auf Seite 3). Mehr als 4 Bitplanes sind aber meist
nicht sinnvoll, da sich durch eine höhere Anzahl das Ergebnis kaum
mehr ändert.
Histogrammfilter
================
Unter einem Histogramm versteht man die Bildhelligkeitsverteilung,
also wieviel Schwarz, wieviel Dunkelgrau, wieviel Mittelgrau, wieviel
Hellgrau, wieviel Weiß ... enthält das Bild. Mit den
Histogrammfiltern haben Sie ein mächtiges Werkzeug zur Bearbeitung
der Helligkeit und des Kontrastes eines Bildes. Eine angenehme
Eigenschaft dieser Filter ist die hohe Arbeitsgeschwindigkeit. Mit
dem (fast) einzigartigem Curve-Gadget (siehe später) ist es sehr
einfach, die gewünschte Helligkeitsverteilung interaktiv anzugeben.
Damit ist gegenüber einem System, das nur einen Helligkeits- und
einen Kontrastregler bietet, eine einfachere Manipulation der
Graustufenverteilung möglich.
Equalize Histogram
------------------
Dieses Filter versucht, das Bild so zu bearbeiten, daß möglichst alle
Graustufen gleich häufig vorkommen. Das kann bei kontrastarmen
Bildern oft zu einem sehr guten Ergebnis führen. Kontrastreiche
Bilder werden dadurch aber schlechter.
Specify Histogram
-----------------
Mit diesem Filter können Sie das gewünschte Histogramm einfach auf
dem Bildschirm zeichnen. Dazu wurde ein eigenes Gadget, das
sogenannte Curve-Gadget entwickelt:
-------------------------------------
| Specify Histogram |#|
|-----------------------------------|
| |
| Mode Curve |
| o Add --------------------- |
| * Move | | |
| o Del | | |
| | o---------------o | |
| | | |
| Clear | | |
| --------------------- |
| |
| OK Set Default Cancel |
-------------------------------------
Im Curve-Feld kann (ähnlich wie bei einem Vektorzeichenprogramm) mit
Kontrollpunkten eine Kurve eingestellt werden. Links neben dem
Curve-Feld befinden sich drei Auswahlschaltflächen für den
Bearbeitungsmodus:
Add: Kontrollpunkt hinzufügen
Move: Kontrollpunkt(e) bewegen
Del: Kontrollpunkt löschen
Mit der Schaltfläche Clear kann die eingestellte Kurve gelöscht und
durch eine horizontale Gerade (alle Graustufen gleich verteilt =
Equalize Histogram) ersetzt werden.
Im Move-Modus können mehrere Kontrollpunkte bewegt werden, indem Sie
den ersten Kontrollpunkt anklicken, dann die Umschalttaste
(Shift-Taste) drücken und bei gedrückt gehaltener Taste den letzten
zu bewegenden Kontrollpunkt anklicken. Ziehen Sie nun die gewählten
Kontrollpunkte an die gewünschte Stelle.
Es stehen maximal 16 Kontrollpunkte zur Verfügung.
Die Kurve im Curve-Feld besitzt folgende Bedeutung:
Sie stellt das gewünschte Histogramm dar, das das Bild nach der
Bearbeitung besitzen soll. Die Eingabe erfolgt also nicht relativ zum
aktuellen Histogramm!
Links im Curve-Feld befinden sich die dunklen Graustufen (ganz links
= schwarz). Rechts befinden sich die hellen Graustufen (ganz rechts =
weiß)
Verläuft die Kurve unten im Curve-Feld, dann kommen die Graustufen in
diesem Bereich seltener vor (werden unterdrückt). Verläuft die Kurve
oben im Curve-Feld, dann kommen die Graustufen in diesem Bereich
häufig vor (werden verstärkt).
Das folgende Bild soll die Funktion des Curve-Feldes veranschaulichen:
------------------------------------
| Curve |
Soll oft | |
vorkommen | o--o |
| / \ |
| o \ o |
| \ / \ |
| o o o------o |
| \ / |
| o------o |
Soll wenig | |
vorkommen ------------------------------------
dunkel hell
Das Specify Histogram Filter kann verwendet werden, um die Helligkeit
und den Kontrast des Bildes zu verändern. Dazu muß man aber manchmal
etwas experimentieren. Deshalb werden nun verschiedene Histogramme
mit ihrer (ungefähren) Wirkung angeführt.
------------------------------------ Dieses Histrogramm besitzt
| | die gleiche Funktion wie das
| | Equalize-Histrogramm-Filter.
| | Alle Graustufen kommen danach
| | im Bild gleich oft vor. Bei
| o------------------------------o | kontrastschwachen Bildern
| | kann dies zu einem guten Er-
| | gebnis führen, bei kontrast-
| | starken Bildern eher nicht.
| |
| |
------------------------------------
------------------------------------ Dieses Histogramm verstärkt
| | den Kontrast eines Bildes.
| o o | Die mittleren Graustufen wer-
| \ / | den unterdrückt, die Hell/
| --- --- | Dunkel-Unterschiede ver-
| \ / | stärkt. Der tiefste Punkt
| --- --- | muß nicht unbedingt in der
| \ / | Mitte der Graustufenver-
| --- --- | teilung liegen.
| \ / |
| o |
------------------------------------
------------------------------------ Dieses Histogramm entspricht
| -o- | etwa einer natürlichen
| / \ | Helligkeitsverteilung.
| o- -o | kommen keine extremen Hellig-
| / \ | keitswerte vor. Der Kontrast
| / \ | des Bildes wird dadurch mö-
| o o | glicherweise verringert. Die
| / \ | Lage des Maximums bestimmt
| / \ | die Gesamthelligkeit.
| o----o- -o---o |
| |
------------------------------------
------------------------------------ Histogramme dieser Art können
| | bei üblichen Bildern oft gute
| o o-----o | Ergebnisse erzielen. Sowohl
| -- -- \ | sehr dunkle, als auch helle
| \ / \ | Bildanteile sind vorhanden,
| -- -- o | dazwischen werden aber ge-
| \ / \ | wisse Helligkeitsstufen
| -- -- \ | unterdrückt.
| o o |
| |
| |
------------------------------------
Die angegebene Wirkung muß nicht für jedes Bild zutreffen. Da das
Histogramm-Filter aber sehr schnell arbeitet, können mehrere Versuche
rasch durchgeführt werden. Benutzen Sie gegebenenfalls die Set
Default Schaltfläche, um die eingegebene Kurve für den nächsten
Versuch aufzuheben. Dann können Sie diese entsprechend abändern. Wenn
Sie das nicht tun, dann wird beim nächsten Start des Filters wieder
die mit Save Settings abgespeicherte Default-Kurve angezeigt, was ein
Abändern der vorher verwendeten Kurve unmöglich macht (siehe
Abschnitt Programmparameter sichern).
Versuchen Sie, die Histogramme so einfach als möglich zu halten, da
komplizierte Kurven meist kein sinnvolles Ergebnis liefern. Wollen
Sie bestimmte Graustufen aus dem Bild wegnehmen, dann sollte das
Histogramm an der entsprechenden Stelle ein Minimum aufweisen. Der
Umgang mit diesem Filter erfordert etwas Erfahrung, es stellt aber
ein mächtiges Werkzeug für die Bearbeitung der Graustufenverteilung
dar.
Hinweis:
Um bessere Ergebnisse zu erzielen, sollten Sie vor dem Start eines
Histogrammfilters die Anzahl der Bitplanes auf 8 (256 Graustufen)
stellen. ImageMan hat dann mehr Graustufen zur Verfügung und kann die
Bearbeitung exakter durchführen. Nachdem Sie den gewünschten Effekt
erreicht haben, können Sie die Anzahl der Bitplanes wieder auf den
ursprünglichen Wert zurückstellen. Dabei verlieren Sie zwar
verschiedene Schattierungen, das Ergebnis ist aber besser als bei der
direkten Bearbeitung mit der usprünglichen Anzahl von Bitplanes.
(Dieser Hinweis gilt eigentlich für alle Filter).
Brightness
----------
Mit diesem Filter können Sie die Gesamthelligkeit eines Bildes sehr
leicht verändern. Der Kontrast des Bildes wird dabei nicht verändert.
Parameter:
Mit dem Schieber Brightn. können Sie angeben, ob das Bild heller
(positiver Wert) oder dunkler (negativer Wert) werden soll. Ein
kleiner Wert (nahe 0) verändert das Bild nur wenig, ein hoher Wert
(nahe 100) bewirkt eine starke Änderung.
Günstig sind Werte von ca. +/-10.
Contrast
--------
Falls Sie den Kontrast eines Bildes ändern wollen, ohne das Specify
Histogram Filter zu benutzen, können Sie diesen Filter verwenden. Der
Kontrast kann dabei vergrößert oder verkleinert werden.
Parameter:
Mit dem Schieber Contr. können Sie angeben, ob der Kontrast verstärkt
(positiver Wert) oder verringert (negativer Wert) werden soll. Ein
kleiner Wert (nahe 0) verändert das Bild nur wenig, ein hoher Wert
(nahe 100) bewirkt eine starke Änderung.
Das Contrast-Filter arbeitet sehr empfindlich. Daher sind nur geringe
Werte empfehlenswert (etwa bis zu +/-10).
Fourier-Filter
==============
Mit den Fourier-Filtern stellt Ihnen ImageMan einen Bild-Equalizer
zur Verfügung. Ähnlich wie bei einem Equalizer einer Stereo-Anlage
können Sie bestimmte Eigenschaften des Bildes verstärken oder
abschwächen. Bei Klängen ist bekannt, daß der Ton eines bestimmten
Musikinstruments aus verschiedenen Frequenzen besteht (Grundton,
Obertöne, etc.). Die Klänge einzelner Musikinstrumente vereinigen
sich zu einem Musikstück, in dem dann sehr viele verschiedene
Frequenzen vorkommen. Bei einer Stereoanlage können Sie üblicherweise
mit einem Höhen- und einem Tiefenregler den Klang beeinflussen, indem
Sie bestimmte Frequenzbereiche verstärken oder abschwächen. Damit
erreichen Sie, daß der Klang beispielsweise dumpfer oder heller wird.
Auch Bilder kann man aus Frequenzen zusammensetzen. Das mathematische
Konzept der Fouriertransformation ermöglicht dies in ähnlicher Weise
wie bei der Musik.
Hohe Frequenzen entsprechen dabei scharfen Kanten im Bild.
Niedrige Frequenzen entsprechen hingegen langsamen
Helligkeitsschwankungen.
Mit den Fourier-Filtern können Sie nun wie bei der Stereoanlage
verschiedene Frequenzen abschwächen oder verstärken. Damit können Sie
ein Bild schärfen, glätten, die Helligkeit verändern oder
Traumeffekte erreichen. Die Fourier-Filter arbeiten im Gegensatz zu
den Matrixfiltern gleichmäßig in allen Richtungen und können sanftere
oder auch ausgeprägtere Filterungen im Vergleich zu Matrixfiltern
bewirken.
Der Nachteil der Fourier-Filter ist der hohe Rechen- und
Speicherplatzaufwand. Für die Fouriertransformation eines Bildes mit
512x512 Pixeln Größe wird ein temporärer Zwischenspeicher von etwa
2MB benötigt! Die Größe des Speicherbedarfs steigt quadratisch mit
der Bildgröße. Auf einem normalen Amiga kann so eine Transformation
bei größeren Bildern einige Stunden dauern. Mit einem 68030er (25MHz)
benötigt die Transformation für ein Bild der oben angegebenen Größe
etwa 15 Minuten.
Trotz des hohen Rechenaufwands (und der damit verbundenen
Hardware-Voraussetzungen) können diese Filter sinnvoll eingesetzt
werden, da sie viel mehr Möglichkeiten als die Matrixfilter bieten.
Damit auch Benutzer eines Amigas mit weniger Speicher (<4MB) Bilder
mit durchschnittlicher Amiga-Auflösung transformieren können, wurde
in ImageMan eine virtuelle Speicherverwaltung, das sogenannte
FileSwapping, implementiert. Ist nicht genügend RAM-Speicher
vorhanden, dann wird auf dem logischen Laufwerk ImageMan: eine
temporäre Datei mit dem Namen ImageMan.tmp angelegt. Mit einem
ASSIGN-Befehl sollten Sie dem logischen Laufwerk ImageMan: einen
sinnvollen Pfad zuweisen. Geschieht dies nicht, dann bekommen Sie vom
Amiga-Betriebssystem die Anforderung "Please insert Volume ImageMan
in any drive". Wenn Sie in diesem Requester mit Cancel aussteigen,
dann versucht ImageMan die temporäre Datei im T: Verzeichnis
anzulegen. Dieses ist aber üblicherweise in der RAM: Disk, was
schnell zu einem überfüllten Speicher führt. Schließlich wollte
ImageMan ja die temporäre Datei aus Speichermangel öffnen. Vergessen
Sie also den ASSIGN-Befehl nicht (Siehe auch Abschnitt
Programmparameter sichern).
Für den verwendeten Algorithmus (Fast Fourier Transform) müßten die
Höhe und die Breite des Bildes in Pixeln 2er-Potenzen sein. ImageMan
ermöglicht es Ihnen jedoch, Bilder beliebiger Größe zu
transformieren. Trotzdem werden Bilder besonders schnell
transformiert, die dem genannten Kriterium entsprechen. Ungünstig
sind Bildgrößen, die gerade ein Pixel größer als eine 2er-Potenz
sind. Damit wird der Rechenaufwand und der Speicherbedarf unnötig
erhöht. Günstig sind also Bildformate, deren Höhe bzw. Breite in
Pixeln folgende Werte besitzen:
(2, 4, 8, 16, 32,) 64, 128, 256, 512, 1024, 2048
Die eingeklammerten Werte mögen etwas ungebräuchlich aussehen, können
bei Brushes aber durchaus Bedeutung besitzen.
Die Bilder müssen nicht (wie bei anderen Programmen) quadratisch
sein. ImageMan verarbeitet auch rechteckige Bilder richtig.
Da die Bearbeitung eines Bildes mit einem Fourier-Filter lange dauern
kann, meldet sich ImageMan per Sprachausgabe, sobald die Berechnung
abgeschlossen worden ist: "This is ImageMan. I am ready!". Falls das
Speak-Device nicht vorhanden ist (ab WB 2.1 ist dies der Fall) wird
ein Display-Beep verwendet.
Fourier Bandpass
----------------
Dies ist der einfachste (und deshalb leistungsschwächste) Filter aus
der Fourier-Familie. Mit diesem können Sie die Frequenzanteile in
einem bestimmten Bereich löschen. Wenn Sie die höheren
Frequenzanteile löschen (Bereich von 70-100), dann glätten Sie das
Bild. Löschen Sie hingegenen die niedrigeren Frequenzen (Bereich
0-10), dann bleiben hauptsächlich die Kanten übrig (ähnlich
Gradient). Eine Schärfung des Bildes ist mit diesem Filter nicht
möglich!
Wegen der kantigen Filterfunktion, die bei diesem Filter verwendet
wird, kann es sehr leicht zu einem sogenannten Ringing-Effect kommen.
Dieser wirkt sich so aus, daß dem Bild nach der Filterung ein
Ringmuster überlagert ist. Dies ist keine Rechenungenauigkeit,
sondern ein mathematischer Effekt (siehe Bildverarbeitungsliteratur).
Meist ist diese Tatsache eher störend, kann aber vielleicht auch
absichtlich verwendet werden. Sollte der Effekt zu störend sein, dann
benutzen Sie das Fourier Amplify Soft Filter (siehe weiter unten).
Parameter:
Mit den beiden Schiebern Cut low und Cut hi können Sie die untere
bzw. die obere Grenzfrequenz des Bereichs einstellen, der vom Filter
gelöscht werden soll. Die Werte sind Prozentangaben bezogen auf das
Frequenzmaximum. 0 entspricht der niedrigsten Frequenz, 100 der
maximal möglichen. Die Frequenz für Cut low sollte kleiner als die
Frequenz für Cut hi sein, damit der Filter sinnvoll arbeiten kann.
Cut low Cut hi
typisches Glätten 30 70
Gradient 0 10
Fourier Amplify
---------------
Mit diesem Filter können Sie schon etwas mehr anfangen. Allerdings
gilt auch hier, daß nach der Filterung dem Bild ein Ringmuster
überlagert sein kann (siehe Fourier Bandpass). Zusätzlich zu den
beiden Reglern für die Grenzfrequenzen ist noch ein Feld für den
Verstärkungsfaktor vorhanden. Der eingegebene Zahlenwert wird durch
10 dividiert (mit 0.1 multipliziert). Wenn Sie also 10 eingeben, so
ist der Verstärkungsfaktor 1.0 . Mit dem Verstärkungsfaktor werden
die Frequenzanteile zwischen den beiden Grenzfrequenzen
multipliziert. Somit können diese entweder abgeschwächt (<10) oder
verstärkt (>10) werden. Einige typische Zahlenwerte werden unten
angegeben.
Parameter:
Die beiden Schieber Cut low und Cut hi besitzen die gleiche Bedeutung
wie beim Fourier Bandpass Filter. Im Feld Ampl x.1 können Sie den
Verstärkungsfaktor bestimmen. Der Zahlenwert wird durch 10 dividiert
(mit 0.1 multipliziert).
Cut low Cut hi Ampl x .1
Normales Glätten 30 70 (... 80) 0 - 5
Schärfen 30 70 (... 80) 20 - 30
Starkes Glätten 10 80 0
Fourier Amplify (soft)
----------------------
Dieser Filter ist dem normalen Fourier Amplify Filter sehr ähnlich.
Der größte Unterschied ist, daß bei diesem Filter dem Bild keine
Ringmuster überlagert werden. Beim Fourier Amplify (soft) Filter wird
eine spezielle glatte Filterfunktion verwendet, die von ESP speziell
für diesen Zweck entwickelt wurde. Da die Fouriertransformierte
dieser Funktion keine hohen Frequenzanteile besitzt, tritt der
Ringing-Effect nicht auf. Die Flankensteilheit der Funktion kann
eingestellt werden, was zu verschieden starken Ergebnissen führt. Im
folgenden Bild soll dieser Unterschied zwischen den Funktionen mit
verschiedener Flankensteigung (Order - Filterordnung) erläutert
werden:
----- -------- -- ----- --- -----
| | \ / \ /
| | \ / | |
| | \ / | |
| | \ / \ /
--------- ---- -----
kantige Funktion sanfte Funktion steilere Funktion
(z.B. Fourier Amplify) (Order klein, z.B. 1) (Order größer, z.B.3)
Je steiler die Funktion ist, desto stärker wird der Ring-Effekt. Bei
üblichen Werten (1 bis 4) sieht man aber keine störende Beeinflussung
des Ergebnisses.
Parameter:
Die Parameter Cut low, Cut hi und Ampl x.1 haben die gleiche
Bedeutung wie beim Fourier Amplify Filter. Im Feld Order kann ein
ganzzahliger Wert eingegeben werden, der die Flankensteilheit der
Filterfunktion bestimmt (Siehe Bilder oben). Der kleinste Wert ist
dabei 1, der größte 4. Je größer die Ordnung, desto steiler wird die
Kurve. Übliche Werte sind 2 und 3.
Cut low Cut hi Ampl x .1 Order
Normales Glätten 30 70 0 - 5 2 od. 3
Schärfen 30 70 20 - 30 2 od. 3
Starkes Glätten 10 80 0 3
Traumbildeffekt 1 10 0 2 od. 3
Programmparameter sichern
=========================
ImageMan erlaubt es Ihnen, oft benutzte Filtereinstellungen als
Default-Wert abzuspeichern. Wenn Sie in den Filterdialogfenstern mit
der Schaltfläche Set Default Einstellungen fixiert haben, dann können
Sie diese mit dem Befehl Save Settings aus dem Menü Settings
abspeichern. Beim nächsten Start von ImageMan stehen nun diese
Einstellungen wieder zur Verfügung und werden beim Aufrufen eines
Filters sofort angezeigt. Wollen Sie aber die Default-Einstellungen
nur während eines Programmlaufs benutzen, dann brauchen Sie diese nur
einfach nicht abspeichern. Die Default-Einstellungen gehen dann nach
Beendigung des Programms verloren und werden durch die
abgespeicherten ersetzt.
Für die Fourier-Filter ist es notwendig, einen ASSIGN für das
logische Laufwerk ImageMan: anzugeben. Auf diesem logischen Laufwerk
wird dann die temporäre Datei ImageMan.tmp angelegt, die für die
virtuelle Speicherverwaltung verwendet wird. Sie können den
ASSIGN-Befehl in Ihre User-Startup Datei einbauen. Legen Sie den Pfad
in ein geeignetes Harddisk-Verzeichnis (z.B. SYS:T). ImageMan löscht
zwar die temporäre Datei nach Beendigung der Bearbeitung wieder, aber
das könnte durch einen Systemabsturz (der natürlich nicht durch
ImageMan verschuldet worden sein kann...) verhindert werden. In einem
solchen Fall sollten Sie die temporäre Datei händisch löschen.
Falls Sie ein Programm zur virtuellen Speicherverwaltung verwenden
(nur auf Computern mit MMU möglich), so kann ImageMan auch diesen
Speicher verwenden. Bei Fourier-Filtern ist aber die Benutzung eines
virtuellen Speichers, der nicht von ImageMan selbst verwaltet wird,
sehr ineffizient. Deshalb können Sie im Menü Settings mit dem Befehl
Virtual Memory? einstellen, ob bei den Fourier-Filtern die in
ImageMan eingebaute virtuelle Speicherverwaltung (die auch ohne MMU
funktioniert) verwendet werden soll. Dies ist SEHR empfehlenswert, da
sonst die Rechenzeit und die Harddisk-Zugriffe stark ansteigen. Alle
anderen Filter betrifft diese Einstellung nicht.
Ist der Menüpunkt Virtual Memory? aktiviert, so wird die
Speicherverwaltung von ImageMan verwendet, auch wenn ein anderes
Speicherverwaltungsprogramm vorhanden ist. Ist der Menüpunkt nicht
aktiviert, dann wird der virtuelle Speicher des
Speicherverwaltungsprogramms verwendet.
Wird kein Speicherverwaltungsprogramm verwendet, dann ist diese
Einstellung ohne Funktion. Es wird dann immer die eingebaute
Speicherverwaltung verwendet.
ABSCHLIEßENDE BEMERKUNGEN
=========================
Die Idee für das vorliegende Programm entstand nach Absolvierung
einer Vorlesung an der TU Wien (ich, Gerald Ritz, studiere dort
Technische Physik) über computerunterstützte Abbildungsverfahren im
Sommersemester 1991. Da es zu diesem Zeitpunkt noch kein vernünftiges
Programm für die Filterung von Bildern gab, entschloß ich mich, die
vorgestellten Verfahren für den Amiga zu implementieren. Ohne die
Mithilfe meines Bruders, der die Benutzeroberfläche programmiert hat,
hätte ImageMan wahrscheinlich noch immer ein komfortables
CLI-Interface. Inzwischen gibt es bereits andere Programme, die
ähnliche Funktionen wie ImageMan bieten. ImageMan besitzt aber den
Vorteil, daß er möglichst sparsam mit dem verfügbaren Speicher umgeht
(sowohl Chip- als auch Fast-Mem) und sich völlig in die neue
Betriebssystem-Umgebung einfügt (z.B. Unterstützung des Clipboards,
Application Window, ASL-Requester, etc.).Weiterere Vorteile von
ImageMan sind die Undo-Funktion, die hervorragende Show-Funktion (von
Gernot).
In Zukunft sind einige Erweiterungen von ImageMan geplant. Wie
schnell diese realisiert werden, wird auch vom Echo auf diese Version
des Programms abhängen. Wir sind für jegliche Anregungen und Kritik
sehr dankbar. Ein Programm ist leider nie fehlerfrei (there´s always
another bug!). Falls Ihnen Fehler auffallen, sind wir für eine
Beschreibung des Fehlers dankbar und werden versuchen, diesen zu
beheben.
ImageMan ist ein Public-Domain-Programm. Sie können (und sollen!) das
Programm daher weiterkopieren. Das Programm, die Anleitung und das
Copyright dürfen allerdings nicht verändert werden.
Viel Erfolg bei der Arbeit mit ImageMan wünschen Ihnen
Gernot Ritz & Gerald Ritz
Stelzerstraße 43
A - 4020 LINZ